<?php
use think\facade\Session;
use think\facade\Request;
use think\facade\Config;
use think\facade\Db;
/**
 * 检测会员是否登录
 * @return integer 0/管理员ID
 */
function is_user_login()
{
    $user = Session::get('user_auth');
    if (empty($user)) {
        return 0;
    } else {
        return Session::get('user_auth_sign') == data_auth_sign($user) ? $user['user_id'] : 0;
    }
}
/**
 * 保存前台用户行为
 * @param string $remark 日志备注
 */
function insert_user_log($remark)
{
    if (request()->isMobile()) {
        $m = '1';
    }else{
        $m = '0';
    }
    if (session('?user_auth')) {
        Db::name('user_log')->insert([
            'shop_id'     => Session::get('user_auth.shop_id'),
            'client'     => $m,
            'user_id'     => Session::get('user_auth.user_id'),
            'ip'          => request()->ip(),
            'url'         => request()->url(true),
            'method'      => request()->method(),
            'type'        => request()->type(),
            'param'       => json_encode(request()->param()),
            'remark'      => $remark,
            'create_time' => time(),
        ]);
    }
}
//网站信息
function seo($type)
{
    $website = Config::load('admin/website');
    return $website[$type];
}
//获取用户ID
function UserId()
{
    $info = session('user_auth.user_id');
    return $info;
}
//获取商家ID
function ShopId()
{
    $info = session('user_auth.shop_id');
    return $info;
}

/**
 * 个人权限
 * @param string $id 权限ID
 */
function user_auth($id)
{
    $data = Config::load('user/auth','auth');
    return $data[$id];
}
/**
 * 参数字段配置
 * @param string $remark 日志备注
 */
function field_config()
{
    $field = Config::load('user/field','field');
    return $field;
}
/**
 * 字典列表
 * @param string $dict_id 字典类别ID
 */
function get_dict_list($dict_id)
{
    $list = \app\user\model\DictData::where('dict_id',$dict_id)->where('status','1')->order('sort_order desc,id desc')->column('name','id');
    return $list;
}
/**
 * 字典列表
 * @param string $id 字典ID
 */
function get_dict_value($id)
{
    $list = \app\user\model\DictData::where('id',$id)->value(['name']);
    return $list;
}
/**
 * 获取自定义字段代码
 * @param string $id 字典ID
 */
function get_code($field,$data='')
{
    $list = \app\user\model\FieldData::get_field_code($field,$data);
    return $list;
}
/**
 * 获取自定义字段值
 * @param string $id 字典ID
 */
function get_code_value($field,$data='')
{
    $list = \app\user\model\FieldData::get_field_code_value($field,$data);
    return $list;
}
/**
 * 获取自定义字段代码JS
 * @param string $id 字典ID
 */
function get_code_js($field,$data='')
{
    $list = \app\user\model\FieldData::get_field_code_js($field,$data);
    return $list;
}
/**
 * 获取自定义字段代码JS
 * @param string $id 字典ID
 */
function get_code_value_js($field,$data='')
{
    $list = \app\user\model\FieldData::get_field_code_value_js($field,$data);
    return $list;
}
/**
 * 获取我所在的个人权限
 * @param string $id 字典ID
 */
function my_select_auth()
{
    //查询我的权限
    $user = \app\user\model\User::where('id', UserId())->find();
    switch ($user['auth']){
        case "1":
            //获取所有相关USER_ID
            $user_id = [UserId()];
            $id_my = \app\crm\model\CrmCustomer::where('user_id', UserId())->column('id');
            //获取对应的客户列表
            $id_auth = \app\crm\model\CrmUser::where('user_id','in',$user_id)->where('status','1')->column('customer_id');
            $id = array_merge($id_auth,$id_my);
            break; 
        case "2":
            //获取所有相关USER_ID
            $user_id = \app\user\model\User::where('group_id',$user['group_id'])->column('id');
            //获取对应的客户列表
            $id_auth = \app\crm\model\CrmUser::where('user_id','in',$user_id)->where('status','1')->column('customer_id');
            $id_my = \app\crm\model\CrmCustomer::where('user_id', UserId())->column('id');
            $id = array_merge($id_auth,$id_my);
            break;
        default :
            //获取对应的客户列表
            $id = \app\crm\model\CrmCustomer::column('id');
            break;
    }
    return $id;
}
/**
 * 获取客服数据
 * @param string $id 字典ID
 */
function get_kefu_value($customer_id,$type_id)
{
    $this_user_id = \app\crm\model\CrmUser::with(['user'])->where(['customer_id'=>$customer_id,'type_id'=>$type_id,'status'=>'1'])->find();
    return $this_user_id['user_name'];
}
/**
 * 客户ID排除
 * @param string $id 字典ID
 */
function unique($str){  
    //字符串中，需要去重的数据是以数字和“，”号连接的字符串，如$str,explode()是用逗号为分割，变成一个新的数组，见打印  
    $arr = explode(',', $str);  
    $arr = array_unique($arr);//内置数组去重算法  
    $data = implode(',', $arr);  
    $data = trim($data,',');//trim — 去除字符串首尾处的空白字符（或者其他字符）,假如不使用，后面会多个逗号  
    return $data;//返回值，返回到函数外部  
}